package com.yy.main.app.mapper;

import com.yy.pojo.base.TUser;
import com.yy.pojo.base.TUserExample;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import javax.annotation.Resource;
import java.util.List;

@Repository
@Resource(name = "dataSource")
public interface TUserMapper {
    long countByExample(TUserExample example);

    int deleteByExample(TUserExample example);

    int deleteByPrimaryKey(String id);

    int insert(TUser record);

    int insertSelective(TUser record);

    List<TUser> selectByExample(TUserExample example);

    TUser selectByPrimaryKey(String id);

    int updateByExampleSelective(@Param("record") TUser record, @Param("example") TUserExample example);

    int updateByExample(@Param("record") TUser record, @Param("example") TUserExample example);

    int updateByPrimaryKeySelective(TUser record);

    int updateByPrimaryKey(TUser record);

    /**
     * 用户登陆
     *
     * @param username 用户名
     * @return {@link TUser}
     */
    TUser userLogin(@Param("account") String username);

    /**
     * <p>
     * 获得分配角色用户列表
     * </p>
     *
     * @param status   用户状态
     * @param user_num 用户编号
     * @param name     用户名
     * @param sex      性别
     * @return {@link List<TUser>}
     * @author 杨阳
     * @since 2017年9月20日
     */
    List<TUser> userAssignList(@Param("status") String status, @Param("user_num") String user_num, @Param("name") String name, @Param("sex") String sex);
}